package com.yonyou.cyxdms.sysAuth.service.dto;

import com.yonyou.cyx.function.utils.validate.define.Email;
import com.yonyou.cyx.function.utils.validate.define.IDNumber;
import com.yonyou.cyx.function.utils.validate.define.Phone;
import com.yonyou.cyx.function.utils.validate.define.Required;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author     ：quankk
 * @date       ：2019/7/10 17:58
 * @description：
 */
public class EmployeeUpdateDTO {

    private static final long serialVersionUID = 1L;

    // 员工编号
    @Required
    private String            employeeNo;

    // 员工姓名
    @Required
    private String            employeeName;

    // ORG_CODE 部门
    // @Required 废弃
    private String            orgCode;

    @Required
    private int orgId;                      // 部门

    private String            positionCode;                        // POSITION_CODE 职务

    private Long              gender;                              // GENDER 性别

    private String              birthday;                            // BIRTHDAY 出生日期

    @IDNumber
    private String            certificateId;                       // CERTIFICATE_ID 身份证号


    private String            mobile;                              // MOBILE 手机

    @Required
    @Phone
    private String            phone;                               // PHONE 电话

    @Email
    private String            eMail;                               // E_MAIL

    private String            address;                             // ADDRESS //地址


    private String            zipCode;                             // ZIP_CODE 邮编

    private Long              isOnjob;                             // 在职状态

    private Date              dimissionDate;                       // DIMISSION_DATE 离职日期

    private String              foundDate;                           // 建档日期

    private String            workerTypeCode;                      // WORKER_TYPE_CODE 工种

    private String              technicianGrade;                     // TECHNICIAN_GRADE 技师等级

    private String            defaultPosition;                     // DEFAULT_POSITION 主维修工位

    private String            workgroupCode;                       // 班组

    private List<String>      employeeRoles    = new ArrayList<>();

    public String getEmployeeNo() {
        return employeeNo;
    }

    public void setEmployeeNo(String employeeNo) {
        this.employeeNo = employeeNo;
    }

    public String getEmployeeName() {
        return employeeName;
    }

    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public int getOrgId() {
        return orgId;
    }

    public void setOrgId(int orgId) {
        this.orgId = orgId;
    }

    public String getPositionCode() {
        return positionCode;
    }

    public void setPositionCode(String positionCode) {
        this.positionCode = positionCode;
    }

    public Long getGender() {
        return gender;
    }

    public void setGender(Long gender) {
        this.gender = gender;
    }


    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getCertificateId() {
        return certificateId;
    }

    public void setCertificateId(String certificateId) {
        this.certificateId = certificateId;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String geteMail() {
        return eMail;
    }

    public void seteMail(String eMail) {
        this.eMail = eMail;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    public Long getIsOnjob() {
        return isOnjob;
    }

    public void setIsOnjob(Long isOnjob) {
        this.isOnjob = isOnjob;
    }

    public Date getDimissionDate() {
        return dimissionDate;
    }

    public void setDimissionDate(Date dimissionDate) {
        this.dimissionDate = dimissionDate;
    }

    public String getFoundDate() {
        return foundDate;
    }

    public void setFoundDate(String foundDate) {
        this.foundDate = foundDate;
    }

    public String getWorkerTypeCode() {
        return workerTypeCode;
    }

    public void setWorkerTypeCode(String workerTypeCode) {
        this.workerTypeCode = workerTypeCode;
    }

    public String getTechnicianGrade() {
        return technicianGrade;
    }

    public void setTechnicianGrade(String technicianGrade) {
        this.technicianGrade = technicianGrade;
    }

    public String getDefaultPosition() {
        return defaultPosition;
    }

    public void setDefaultPosition(String defaultPosition) {
        this.defaultPosition = defaultPosition;
    }

    public String getWorkgroupCode() {
        return workgroupCode;
    }

    public void setWorkgroupCode(String workgroupCode) {
        this.workgroupCode = workgroupCode;
    }

    public List<String> getEmployeeRoles() {
        return employeeRoles;
    }

    public void setEmployeeRoles(List<String> employeeRoles) {
        this.employeeRoles = employeeRoles;
    }

    @Override
    public String toString() {
        return "EmployeeUpdateDTO{" +
                "employeeNo='" + employeeNo + '\'' +
                ", employeeName='" + employeeName + '\'' +
                ", orgCode='" + orgCode + '\'' +
                ", orgId=" + orgId +
                ", positionCode='" + positionCode + '\'' +
                ", gender=" + gender +
                ", birthday='" + birthday + '\'' +
                ", certificateId='" + certificateId + '\'' +
                ", mobile='" + mobile + '\'' +
                ", phone='" + phone + '\'' +
                ", eMail='" + eMail + '\'' +
                ", address='" + address + '\'' +
                ", zipCode='" + zipCode + '\'' +
                ", isOnjob=" + isOnjob +
                ", dimissionDate=" + dimissionDate +
                ", foundDate='" + foundDate + '\'' +
                ", workerTypeCode='" + workerTypeCode + '\'' +
                ", technicianGrade=" + technicianGrade +
                ", defaultPosition='" + defaultPosition + '\'' +
                ", workgroupCode='" + workgroupCode + '\'' +
                ", employeeRoles=" + employeeRoles +
                '}';
    }
}
